package com.szholly.plug.safe.entity.fun;

import com.szholly.utils.util.StringUtils;
import com.szholly.data.general.*;

/**
 * 定义功能实体类
 */
public class DataFunctionEntity extends RowBase {

	private static final long serialVersionUID = -8484570430781818116L;

	/**
	 * 功能ID，主键
	 */
	public final static String FIELD_FUNCTIONID = "S_FUNCTIONID";

	/**
	 * 功能名称
	 */
	public final static String FIELD_C_FUNCTIONNAME = "C_FUNCTIONNAME";

	/**
	 * 功能描述
	 */
	public final static String FIELD_C_FUNCTIONDES = "C_FUNCTIONDES";

	/**
	 * 父节点ID
	 */
	public final static String FIELD_PID = "S_PID";

	/**
	 * 功能类型
	 */
	public final static String FIELD_C_FUNCTIONTYPE = "C_FUNCTIONTYPE";
	
	/**
	 * 排序字段
	 */
	public final static String FIELD_I_ORDER = "I_ORDER";
	
	/**
	 * 机构级别
	 */
	public final static String FIELD_JB = "I_JB";
	
	/**
	 * 是否为叶子节点
	 */
	public final static String FIELD_ISCHILD = "S_ISCHILD";
	
	/**
	 * 字典域名称
	 */
	public final static String FIELD_DOMAINNAME = "S_DOMAINNAME";
	
	/**
	 * 字典域名称条件
	 */
	public final static String FIELD_DOMAINNAMEWHERE = "S_DOMAINNAMEWHERE";

	/**
	 * 获取功能名称
	 * 
	 * @return
	 */
	public String getFunctionID() {
		return (String)getValue(GlobalDataType.String, FIELD_FUNCTIONID);
	}

	/**
	 * 设置功能名称
	 * 
	 * @param value
	 */
	public void setFunctionID(String value) {
		setValue(FIELD_FUNCTIONID, value);
	}

	/**
	 * 获取功能名称
	 * 
	 * @return
	 */
	public String getFunctionName() {
		Object obj = getValue(GlobalDataType.String, FIELD_C_FUNCTIONNAME);
		if (obj instanceof String) {
			return (String) obj;
		} else {
			return (String) obj;
		}
	}

	/**
	 * 设置功能名称
	 * 
	 * @param value
	 */
	public void setFunctionName(String value) {
		setValue(FIELD_C_FUNCTIONNAME, value);
	}

	/**
	 * 获取功能说明
	 * 
	 * @return
	 */
	public String getFunctionDesc() {
		Object obj = getValue(GlobalDataType.String, FIELD_C_FUNCTIONDES);
		if (obj instanceof String) {
			return (String) obj;
		} else {
			return (String) obj;
		}
	}

	/**
	 * 设置功能说明
	 * 
	 * @param value
	 */
	public void setFunctionDesc(String value) {
		setValue(FIELD_C_FUNCTIONDES, value);
	}

	/**
	 * 获取PID
	 * 
	 * @return
	 */
	public String getPID() {
		return (String)getValue(GlobalDataType.String, FIELD_PID);
	}

	/**
	 * 设置PID
	 * 
	 * @param value
	 */
	public void setPID(String value) {
		setValue(FIELD_PID, value);
	}

	/**
	 * 获取功能类型
	 * 
	 * @return
	 */
	public String getFunctionType() {
		return (String)getValue(GlobalDataType.String, FIELD_C_FUNCTIONTYPE);
	}

	/**
	 * 设置功能类型
	 * 
	 * @param value
	 */
	public void setFunctionType(String value) {
		setValue(FIELD_C_FUNCTIONTYPE, value);
	}
	
	/**
	 * 获取排序号
	 * @return
	 */
	public int getOrder() {
		return StringUtils.objectToInt(getValue(GlobalDataType.Int32,
				FIELD_I_ORDER));
	}

	/**
	 * 设置排序号
	 * @param value
	 */
	public void setOrder(int value) {
		setValue(FIELD_I_ORDER, value);
	}
	
	/**
	 * 机构级别
	 * 
	 * @return
	 */
	public String getJb() {
		return (String)getValue(GlobalDataType.String, FIELD_JB);
	}

	/**
	 * 机构级别
	 * 
	 * @param value
	 */
	public void setJb(String value) {
		setValue(FIELD_JB, value);
	}
	
	/**
	 * 是否为叶子节点
	 * 
	 * @return
	 */
	public String getIsChild() {
		return (String)getValue(GlobalDataType.String, FIELD_ISCHILD);
	}

	/**
	 * 是否为叶子节点
	 * 
	 * @param value
	 */
	public void setIsChild(String value) {
		setValue(FIELD_ISCHILD, value);
	}
}